通過圖形化開發(fā)平臺快速構(gòu)建移動機器人原型
從廣義范疇上,機器人主要包括移動機器人、機械手、教育機器人三大種類。機械手與教育機器人已經(jīng)有了相對成熟的行業(yè)解決方案,而移動機器人構(gòu)成復(fù)雜、應(yīng)用靈活,目前商業(yè)化程度還不高,主要處于前沿研究的階段,一直以來都是科學(xué)家和工程師們關(guān)注的重點,本文將主要探討移動機器人的快速原型與開發(fā)。
移動機器人簡介
移動機器人的應(yīng)用領(lǐng)域非常廣泛,如圖1所示,從軍用、航空航天——無人飛行器 (UAV) 、無人潛航器 (UUV) 和無人地面車 (UGV) ,到工農(nóng)業(yè)裝備——采收機器人、智能化耕作機械,到家用服務(wù)機器人等,不一而足。而隨著應(yīng)用領(lǐng)域和環(huán)境的不同,機器人需要具備相對應(yīng)的自主程度,這也為機器人的開發(fā)帶來了不同的技術(shù)難點。全自主機器人通常會涉及到控制系統(tǒng)、自定位、實時視覺、多傳感器融合等關(guān)鍵技術(shù),而遙操作機器人則往往側(cè)重于雙向力反饋控制、虛擬環(huán)境建模、力覺接口等方面的研究。
圖1 移動機器人的應(yīng)用領(lǐng)域
盡管按照不同的應(yīng)用場合機器人分類復(fù)雜且關(guān)鍵技術(shù)眾多,但他們具有某些共同的構(gòu)架和組成部分,是一個融合了眾多機電系統(tǒng)和子系統(tǒng)的綜合體系,并通過這些組成部分與子系統(tǒng)的有機結(jié)合協(xié)調(diào)工作。由于移動機器人構(gòu)成復(fù)雜、應(yīng)用靈活,雖然部分子系統(tǒng)已有現(xiàn)成的軟硬件工具和解決方案,但如何快速地把各子系統(tǒng)集成在一起,進行早期的整體功能性驗證,就成了決定機器人設(shè)計成敗的關(guān)鍵性環(huán)節(jié)。
機器人設(shè)計的前沿方法:圖形化系統(tǒng)設(shè)計
在Google X PRIZE機構(gòu)、FIRST組織(科學(xué)技術(shù)的啟示與認知組織)、RoboCup,以及美國國防高級研究計劃局(DARPA)之間展開的競爭,推進了機器人學(xué)領(lǐng)域的創(chuàng)新。富有創(chuàng)新思維的開發(fā)者們將機器人學(xué)的前沿方法推進到了圖形化系統(tǒng)設(shè)計。在LabVIEW圖形化編程平臺下,機器人學(xué)的領(lǐng)域?qū)<夷軌驅(qū)?fù)雜的機器人方案進行快速的原型設(shè)計。他們可以不必關(guān)心底層的實現(xiàn)細節(jié),將注意力集中到解決手上的工程問題即可。
機器人設(shè)計通常包含以下部分的工作內(nèi)容,如圖2所示。
圖2 機器人設(shè)計平臺
● 傳感器連接:連接到陀螺儀、CCD、光電、超聲等傳感器,獲取并處理信息。
● 控制設(shè)計與仿真:根據(jù)工作環(huán)境和應(yīng)用需求,設(shè)計機器人的控制算法。
● 嵌入式控制:嵌入式控制系統(tǒng)相當(dāng)于機器人的“大腦”,根據(jù)算法進行控制決策,完成管理協(xié)調(diào)、信息處理、運動規(guī)劃等任務(wù)。
● 運動控制(執(zhí)行器):根據(jù)具體的作業(yè)指令,通過驅(qū)動控制器、編碼器和電機完成機器人的伺服控制與運動執(zhí)行。
● 網(wǎng)絡(luò)通信與控制:機器人各子系統(tǒng)間的通信網(wǎng)絡(luò),完成分布式控制與實時控制。
過去,由于在每個領(lǐng)域中必須使用各自的傳統(tǒng)工具,其中涉及的知識具有較大的縱向深度,機械工程師、電氣工程師以及程序員團隊都各自領(lǐng)導(dǎo)機器人學(xué)的開發(fā)。 LabVIEW和NI硬件提供了一個獨特的、功能多樣的平臺,它提供了一套標(biāo)準(zhǔn)的可供所有機器人設(shè)計人員使用的工具,從而使機器人開發(fā)得到了統(tǒng)一。
通過LabVIEW,設(shè)計人員無須成為計算機專家或程序員,就可以開發(fā)高級機器人。例如,一位只有有限LabVIEW和機器視覺經(jīng)驗的學(xué)生在短短幾小時之內(nèi),就設(shè)計了一個讓機器人利用它帶有的IEEE 1394相機和NI機器視覺開發(fā)模塊跟蹤一個紅球的算法。工程師們使用LabVIEW和NI硬件,就可以使用功能強大的圖形化編程語言快速地設(shè)計并開發(fā)復(fù)雜算法的原型;并通過代碼生成方便地將控制算法部署到PC、FPGA、微控制器或?qū)崟r系統(tǒng)之中;還可以與幾乎所有的傳感器、執(zhí)行器進行連接。此外,通過 LabVIEW和NI硬件平臺,可以支持CAN、以太網(wǎng)、串口、USB等多種接口,方便地構(gòu)建機器人系統(tǒng)的通信網(wǎng)絡(luò)?,F(xiàn)在,領(lǐng)域?qū)<也粌H僅能夠完成機械工程師的工作,還能夠成為機器人設(shè)計者。
實例分析
本實例介紹的是弗吉尼亞理工大學(xué)如何使用NI LabVIEW設(shè)計全自主地面車參加DARPA城市挑戰(zhàn)賽。
DARPA城市挑戰(zhàn)賽需要設(shè)計一輛能夠在城市環(huán)境中自動導(dǎo)航行駛的全自主地面車。在整個賽程中,全自主車需要在6小時內(nèi)穿越60英里,途經(jīng)道路、路口和停車場等各種交通狀態(tài)。在比賽開始時,參賽者會拿到任務(wù)檔案公路網(wǎng)地圖,并指定需要按一定順序訪問的檢查站。
為了盡快到達檢查站,車輛需要考慮所選道路的車速限制,可能的道路堵塞,以及其他交通狀況。車輛在行駛中必須遵守交通規(guī)則,在十字路口注意安全駕駛和避讓,妥善地處理與其他車輛之間的互動,以最高30英里的時速避讓靜態(tài)和動態(tài)的障礙物。
來自弗吉尼亞理工大學(xué)的團隊需要在12個月開發(fā)出全自主地面車,他們將開發(fā)任務(wù)分成四個主要部分:基礎(chǔ)平臺、感知系統(tǒng)、決策規(guī)劃和通信架構(gòu)。
每一部分都基于NI的軟硬件平臺進行開發(fā):通過NI硬件與現(xiàn)有車載系統(tǒng)進行交互,并提供操作接口;使用LabVIEW圖形化編程環(huán)境來開發(fā)系統(tǒng)軟件,包括通信架構(gòu)、傳感器處理和目標(biāo)識別算法、激光測距儀和基于視覺的道路檢測、駕駛行為控制、以及底層的車輛接口。
1 基礎(chǔ)平臺
弗吉尼亞理工大學(xué)的參賽車Odin是2005年福特翼虎(Escape)混合動力型越野車,如圖3所示,并為自主駕駛做了一定程度的改裝。NI CompactRIO系統(tǒng)與翼虎操控系統(tǒng)進行交互,通過線控驅(qū)動(drive-by-wire)的方式控制油門、方向盤、轉(zhuǎn)向和制動。學(xué)生們利用 LabVIEW控制,設(shè)計與仿真模塊開發(fā)了路徑曲率和速度控制系統(tǒng),并通過LabVIEW實時模塊和FPGA模塊部署到CompactRIO硬件平臺加以實現(xiàn),從而建立了一個獨立的車輛控制平臺。與此同時,學(xué)生使用LabVIEW觸摸屏模塊和NI TPC-2006觸摸屏構(gòu)建用戶界面并安裝在控制臺。
圖3 弗吉尼亞理工大學(xué)的參賽車Odin
2 感知系統(tǒng)
為了滿足城市挑戰(zhàn)賽的競賽規(guī)則,Odin需要能夠定位自身的位置,探測周圍的路面狀況和可用的行駛車道,識別路徑中的所有障礙,并適當(dāng)分類障礙車輛。 Odin安裝了多種傳感器以滿足這些需求,其中包括3枚四平面激光測距儀( LRF )安裝在保險杠,另有4枚LRF和2架計算機視覺相機安裝在車頂行李架,以及高精度的全球定位系統(tǒng)/慣性測量裝置系統(tǒng)(GPS/IMU)。
對于每一類感知需求,都通過多個傳感器以實現(xiàn)最大的保真度和可靠性。為了達到靈活的傳感器融合,規(guī)劃軟件忽略傳感器原始數(shù)據(jù),并使用一套由特定任務(wù)組件產(chǎn)生的獨立于傳感器的感知信息。例如,定位組件使用了LabVIEW卡爾曼濾波器來跟蹤車輛的位置和方向;道路檢測組件使用NI視覺開發(fā)模塊,結(jié)合相機及 LRF的數(shù)據(jù),確定路面狀況和附近路段的每個車道;對象分類組件使用LabVIEW處理LRF數(shù)據(jù)以檢測障礙并對障礙進行分類,然后預(yù)測動態(tài)障礙和其他車輛的路徑及下一步行動。
圖4 Odin系統(tǒng)組成框架
3 決策規(guī)劃
路線規(guī)劃組件使用的是A*搜索算法,以確定Odin應(yīng)該經(jīng)過哪些路段從而遍歷所有的檢查站。駕駛行為組件采用了基于行為的LabVIEW狀態(tài)機架構(gòu),負責(zé)遵守交通規(guī)則并引導(dǎo)車輛沿計劃路線行駛。運動規(guī)劃組件進行迭代軌跡搜索,避讓障礙并引導(dǎo)車輛沿理想軌跡行駛。最后決策判定系統(tǒng)將運動序列傳遞給車輛控制接口并轉(zhuǎn)換為驅(qū)動器控制信號。
4 通信架構(gòu)
整個通信框架都基于LabVIEW進行開發(fā),實現(xiàn)了汽車工程師協(xié)會(SAE) AS-4無人系統(tǒng)聯(lián)合架構(gòu)(JAUS)協(xié)議,每個軟件模塊都是JAUS組件,所有模塊之間的交互都是通過LabVIEW框架來完成的,每個軟件模塊可作為獨立組件異步運行在Windows或Linux操作系統(tǒng)之下。完成整個通信構(gòu)架中需要使用多種編程語言,由于LabVIEW的開放性,可以很方便地在其他編程環(huán)境中調(diào)用LabVIEW軟件模塊或與之接口。
5 使用LabVIEW的優(yōu)勢
LabVIEW平臺提供了一個直觀,易于使用的調(diào)試環(huán)境,可以讓開發(fā)團隊實時地監(jiān)測源代碼的運行,從而方便地實現(xiàn)硬件在環(huán)調(diào)試。通過LabVIEW開發(fā)環(huán)境,團隊快速可以構(gòu)建系統(tǒng)原型并加快設(shè)計的往復(fù)周期。此外, LabVIEW與硬件的無縫連接,對于執(zhí)行某些關(guān)鍵操作如傳感器處理和車輛控制是至關(guān)重要的。由于城市挑戰(zhàn)賽問題復(fù)雜且開發(fā)時間很短,這些因素對于開發(fā)團隊的成功發(fā)揮了關(guān)鍵作用。
總結(jié)
圖形化系統(tǒng)設(shè)計對于繼續(xù)加快機器人設(shè)計中的創(chuàng)新而言是必不可少的。復(fù)雜的傳統(tǒng)工具可能會阻礙機器人技術(shù)的進步。LabVIEW提供了一個綜合的、可擴展的平臺,能夠橫跨設(shè)計、原型開發(fā)和部署階段,因此工程師們能夠不用為微小的實現(xiàn)細節(jié)所困擾,可以更加關(guān)注機器人本身。他們可以使用同樣強大的平臺,對微控制器直至FPGA等各種控制器進行編程;還可以同幾乎任何傳感器和執(zhí)行器發(fā)送與接收信號;設(shè)計并仿真動態(tài)控制系統(tǒng);以及實現(xiàn)進行遠程監(jiān)視或控制機器人的接口。LabVIEW圖形化系統(tǒng)設(shè)計平臺通過為所有機器人設(shè)計者提供一個統(tǒng)一的平臺,鼓勵設(shè)計更為精妙的機器人。
提交
自動化機床的故障排除技術(shù)淺析
安川焊接機器人編程
ABB機器人控制軟件RobotWare應(yīng)用手冊SafeMove(英文)
ABB IRB7600 機器人維護信息
ABB IRC5P機器人培訓(xùn)教材